package com.vhall.component.entity.room.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.entity.page.vo.CommonPageVO;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * RoomAuditConsoleListVO-
 *
 * @author xing.wang
 * @date 2023/8/10
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class RoomAuditConsoleListVO extends CommonPageVO implements Serializable {
    @ParamName(value = "start_time")
    @JsonProperty(value = "start_time")
    @Pattern(regexp = "^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))",
            message = "时间格式应为：yyyy-MM-dd")
    private String beginTime;

    @ParamName(value = "end_time")
    @JsonProperty(value = "end_time")
    @Pattern(regexp = "^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))",
            message = "时间格式应为：yyyy-MM-dd")
    private String endTime;
    /**
     * 直播 id 精准匹配
     * 直播标题 模糊匹配
     * 主播 模糊匹配
     */
    @ParamName("keyword")
    private String keyword;

    /**
     * 房间审核状态
     * 审核状态:
     * 0|待审核,-1|审核驳回,1|审核通过
     */
    @JsonProperty(value = "audit_status")
    @ParamName(value = "audit_status")
    private Integer auditStatus;

}
